#include "NSourceSafeMSFS.h"
#pragma once

class MSFS
{

enum ItemType
{
	unknown
};

public:
	MSFS(void);
	~MSFS(void);
	static int __declspec(dllexport) AppendPath(char *,char const *,char const *);
	static int __declspec(dllexport) ChangeSize(int,long);
	static int __declspec(dllexport) CleanPath(char *);
	static int __declspec(dllexport) Close(int);
	static int __declspec(dllexport) CmpPath(char const *,char const *);
	static int __declspec(dllexport) CompletePath(char *,int,char const *,char const *);
	static int __declspec(dllexport) CompressPath(char *,char const *,int,int);
	static int __declspec(dllexport) CompressSSPath(char *,char const *,int,int);
	static int __declspec(dllexport) CopyByHandle(int,int,int,int);
	static int __declspec(dllexport) CopyByName(char const *,char const *);
	static int __declspec(dllexport) CopyFileOpt(int,int,enum NSourceSafeMSFS::CopyFileOptimization);
	static int __declspec(dllexport) CopyFileOpt(char const *,char const *,enum NSourceSafeMSFS::CopyFileOptimization);
	static int __declspec(dllexport) CopyTree(char const *,char const *);
	static int __declspec(dllexport) Create(char const *,int,int,int,int,int);
	static int __declspec(dllexport) CreateDir(char const *);
	static int __declspec(dllexport) CreatePath(char const *);
	static int __declspec(dllexport) CreateUnique(char *,int);
	static int __declspec(dllexport) Delete(char const *);
	static int __declspec(dllexport) DeleteDir(char const *);
	static int __declspec(dllexport) DeleteRO(char const *);
	static int __declspec(dllexport) DeleteTree(char const *,int);
	static int __declspec(dllexport) Exist(char const *);
	static int __declspec(dllexport) ExistDir(char const *);
	static int __declspec(dllexport) FSType(char const *);
	static long __declspec(dllexport) FileSize(char const *);
	static int __declspec(dllexport) FindClose(struct DIRENTRY *);
	static int __declspec(dllexport) FindFirst(struct DIRENTRY *,char *,char const *,int);
	static int __declspec(dllexport) FindNext(struct DIRENTRY *,char *);
	static int __declspec(dllexport) Flush(int);
	static int __declspec(dllexport) GetAttributes(char const *);
	static int __declspec(dllexport) GetCreateDate(char const *,long *,long *);
	static int __declspec(dllexport) GetCurrentDir(char *);
	static int __declspec(dllexport) GetCurrentPath(char *);
	static int __declspec(dllexport) GetFileName(int,char *);
	static int __declspec(dllexport) GetFreeDiskSpace(char const *,unsigned long *);
	static int __declspec(dllexport) GetFreeDiskSpace(char const *,union _ULARGE_INTEGER *);
	static enum MSFS::ItemType __declspec(dllexport) GetItemType(char const *);
	static int __declspec(dllexport) GetModificationDate(char const *,long *,long *);
	static int __declspec(dllexport) GetMyDocumentsPath(char *);
	static int __declspec(dllexport) GetPath(char const *,char *,char *);
	static int __declspec(dllexport) GetTimeStamp(char const *,long *);
	static int __declspec(dllexport) GetUniversalPath(char const *,char *);
	static int __declspec(dllexport) IsMask(char const *);
	static int __declspec(dllexport) IsSameDatabasePath(char const *,char const *);
	static int __declspec(dllexport) IsValidPath(char const *);
	static long __declspec(dllexport) Length(int);
	static int __declspec(dllexport) LineRead(int,char *,int,int *);
	static int __declspec(dllexport) LineWrite(int,char const *);
	static int __declspec(dllexport) Lock(int,unsigned long,unsigned long);
	static int __declspec(dllexport) MakePartialPath(char *,char const *,char const *);
	static int __declspec(dllexport) MapERS_DOSErr(int);
	static int __declspec(dllexport) MapERS_Errno(int);
	static int __declspec(dllexport) MaskCmp(char const *,char const *);
	static int __declspec(dllexport) Open(char const *,int,int);
	static int __declspec(dllexport) OpenFork(char const *,int,int);
	static int __declspec(dllexport) ParsePath(char const *,char *,char *,char *);
	static int __declspec(dllexport) PreparePath(char *,char const *,char const *);
	static int __declspec(dllexport) QuoteSpec(char *,int);
	static int __declspec(dllexport) Read(int,void *,unsigned int);
	static int __declspec(dllexport) Redirect(int,int);
	static int __declspec(dllexport) Rename(char const *,char const *);
	static int __declspec(dllexport) RenameRO(char const *,char const *);
	static long __declspec(dllexport) Seek(int,long,int);
	static int __declspec(dllexport) SetAttributes(char const *,int,int);
	static int __declspec(dllexport) SetCreateDate(char const *,long,long);
	static int __declspec(dllexport) SetCurrentDir(char const *);
	static int __declspec(dllexport) SetCurrentPath(char const *);
	static int __declspec(dllexport) SetModificationDate(char const *,long,long);
	static int __declspec(dllexport) SplitExt(char const *,char *,char *);
	static void __declspec(dllexport) StripSlash(char *);
	static char const __declspec(dllexport) * TranslateMask(char const *,char *);
	static int __declspec(dllexport) TranslatePath(char const *,char *,int);
	static int __declspec(dllexport) Unlock(int,unsigned long,unsigned long);
	static int __declspec(dllexport) UnquoteSpec(char *);
	static int __declspec(dllexport) Write(int,void const *,unsigned int);
	static int __declspec(dllexport) WriteResourceToFile(int,char const *,struct HINSTANCE__ *);
};
